<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class cliente_model extends CI_Model{
	
	private $tabela = 'clientes';
	
	function __construct(){
		parent::__construct();
	}
	
	function salvar($dados = array()){
		
		$resultado = $this->db->insert($this->tabela, $dados);;
		if($resultado){
			return $this->db->insert_id();
		}else{
			return false;
		}
	}
	
	function atualizar($id = null, $dados = array()){
		$this->db->where('id_cliente', $id);
		$this->db->update($this->tabela, $dados);
		return $this->db->affected_rows();
	}
	
	function deletar($id = null) {
		$this->db->where('id_cliente', $id);
		$this->db->delete($this->tabela);
		return $this->db->affected_rows();
	}
	
	function buscarPorId($id = null, $tipo = NULL){
		if(mb_strtolower($tipo) == 'completa'){
			$this->db->select('*');
			$this->db->from($this->tabela);
			$this->db->join('clientes_conta', 'clientes_conta.id_cliente = clientes.id_cliente', 'left');
			$this->db->join('clientes_observacoes', 'clientes_observacoes.id_cliente = clientes.id_cliente', 'left');
			$this->db->join('numero_tinta', 'clientes_observacoes.id_numero_tinta = numero_tinta.id_numero_tinta', 'left');
			$this->db->where('clientes.id_cliente', $id);
			$query = $this->db->get();
		}else {
			$this->db->where('id_cliente', $id);
			$query = $this->db->get('clientes');
		}
		return $query->row(0);
	}
	
	function buscarTodos(){
		$query = $this->db->get($this->tabela);
		return $query->result();
	}
	
	function buscarPorNome($nome = null){
		$this->db->like('tx_nome' , $nome);
		$query = $this->db->get($this->tabela);
		return $query->result();
	}
	
	function adicionarTelefone($dados = array()){
		$this->db->insert('clientes_telefones', $dados);
		return $this->db->affected_rows();
	}
	
	function deletarTelefone($id = null){
		$this->db->where('id_cliente_telefone', $id);
		$this->db->delete('clientes_telefones');
		return $this->db->affected_rows();
	}
	
	function buscarTelefone($id = null){
		$this->db->where('id_cliente', $id);
		$query = $this->db->get('clientes_telefones');
		return $query->result();
	}
	
	function criarConta($dados = array()){
		$this->db->insert('clientes_conta', $dados);
		return $this->db->affected_rows();
	}
		
	function buscarConta($id = null){
		$this->db->where('id_cliente', $id);
		$query = $this->db->get('clientes_conta');
		return $query->row(0);
	}

	function excluirConta($id = null){
		$this->db->where('id_cliente_conta', $id);
		$this->db->delete('clientes_conta');
		return $this->db->affected_rows();
	}
	
	function adicionarObservacao($dados = array()){
		$this->db->insert('clientes_observacoes', $dados);
		return $this->db->affected_rows();
	}
	
	function atualizarObservacao($id = null, $dados = array()){
		$this->db->where('id_cliente', $id);
		$this->db->update('clientes_observacoes', $dados);
		return $this->db->affected_rows();
	}
	
	function buscarObservacao($id = null){
		$this->db->where('id_cliente', $id);
		$query = $this->db->get('clientes_observacoes');
		return $query->row(0);
	}
}